package top.lixunda.ecommerce.server.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import top.lixunda.ecommerce.server.user.api.entity.db.SystemMenuAllotDO;
import top.lixunda.ecommerce.server.user.api.entity.dto.SystemMenuAllotDTO;

import java.util.List;

/**
 * <p>
 * 菜单分配表，将存在的菜单分配给用户，角色 服务类
 * </p>
 *
 * @author Lixunda
 * @since 2020-04-24
 */
public interface ISystemMenuAllotService extends IService<SystemMenuAllotDO> {

    // 菜单分配由后台超级管理员和店铺超级管理员进行，其他任何用户都没有操作权限
    // 后台超级管理员管理后台用户的权限的分配，店铺超级管理员管理店铺用户的权限

    /**
     * 分配菜单
     *
     * @param list 菜单操作DTO
     * @return 是否保存成功
     */
    Boolean allotMenu(List<SystemMenuAllotDTO> list);

    /**
     * 移除菜单
     *
     * @param list 菜单操作DTO
     * @return 是否移除成功
     */
    Boolean removeMenuAllot(List<SystemMenuAllotDTO> list);

    /**
     * 根据分配编号移除菜单分配
     *
     * @param list 分配编号列表
     * @return 是否移除成功
     */
    Boolean removeMenuAllotByIds(List<Integer> list);
}
